import request from '@/api/axios'
import {AxiosPromise} from 'axios'
import {DataRecordList, DataRes} from '@/api/config'

//分页查询社区参数
export interface TeamParams {
  teamId?: string //社区id
  idNo?: string // 身份证
  name?: string //姓名
  page?: number
  limit?: number
}

/**
 * @description: 档案管理列表数据
 * @return {*}
 */
export interface ResidentList {
  id?: string
  name: string // 姓名
  portrait: string // 头像
  idNo: string // 身份证
  age?: number | string // 年龄
  address?: string // 地址
  gender?: string // 性别
  nation?: number | string // 民族
  teamId?: string // 社区id
  teamName?: string // 社区名称
  phone?: string // 电话
  pastHistory?: string | null // 既往史
  lastCheckupTime?: string // 末次体检日期
}

/**
 * @description: 获取档案管理列表
 * @return {*}
 */
export const getResidentArchivesList = (params: TeamParams): AxiosPromise<DataRecordList<ResidentList>> => {
  return request({
    url: '/api/person/page',
    method: 'get',
    params
  })
}

/**
 * @description: 保存档案管理
 * @return {*}
 */
export const saveResidenArchives = (data: Partial<ResidentList>): AxiosPromise<DataRes<null>> => {
  return request({
    url: '/api/person/save',
    method: 'post',
    data
  })
}

export interface ImportResidenArchives {
  teamId: string
  personList: Array<ResidentList>
}

/**
 * @description: 导入名单
 * @return {*}
 */
export const importResidenArchives = (data: ImportResidenArchives): AxiosPromise<DataRes<null>> => {
  return request({
    url: '/api/person/save/batch',
    method: 'post',
    data
  })
}
